﻿using System;
using System.Collections.Generic;
using System.Text;

namespace PlaneCleanEntity.ViewEntity.RouterEntity
{
    public class RouterVo
    {
        /// <summary>
        /// 
        /// </summary>
        public int id { get; set; }
        /// <summary>
        /// 父菜单
        /// </summary>
        public int parentId { get; set; }
        /// <summary>
        /// 路径
        /// </summary>
        public string path { get; set; }
        /// <summary>
        /// 装饰{get;set;}使用哪个layout装饰
        /// </summary>
        public string component { get; set; }
        /// <summary>
        /// 路由名字
        /// </summary>
        public string name { get; set; }
        /// <summary>
        /// 重定向地址{get;set;}重定向地址，在面包屑中点击会重定向去的地址
        /// </summary>
        public string redirect { get; set; }
        /// <summary>
        /// 是否一直显示根路由
        /// </summary>
        public bool alwaysShow { get; set; }
        /// <summary>
        /// 是否显示{get;set;}如果设置为true，项目将不会显示在侧栏中(默认为false) 
        /// </summary>
        public bool hidden { get; set; }
        /// <summary>
        ///  meta_id
        /// </summary>
        public RouterMetaVo meta { get; set; }
        /// <summary>
        /// 子路由
        /// </summary>
        public List<RouterVo> children { get; set; }

    }
    public class RouterMetaVo
    {

        /// <summary>
        /// 名称{get;set;}设置该路由在侧边栏和面包屑中展示的名字 
        /// </summary>
        public string title { get; set; }
        /// <summary>
        /// 侧栏图标
        /// </summary>
        public string icon { get; set; }
        /// <summary>
        /// 固定在tags
        /// </summary>
        public bool affix { get; set; }
        /// <summary>
        /// 缓存{get;set;}如果设置为true，则不会被keep-alive 缓存
        /// </summary>
        public bool noCache { get; set; }
        /// <summary>
        /// 是否缓存打开的tag页面 当noCache=true时无效 noCache=false时生效(若不想缓存当前路由则设置为false)
        /// </summary>
        public bool keepAlive { get; set; }
        /// <summary>
        /// 缓存打开的tag页面路由路径当noCache=true时无效 noCache=false时生效(若不想缓存当前路由则设置为"")
        /// </summary>
        public string path { get; set; }
        /// <summary>
        /// 路由控制角色集{get;set;}控制页面角色(可以设置多个角色)
        /// </summary>
        public List<string> roles { get; set; }
        /// <summary>
        /// 面包屑中显示{get;set;}是否隐藏在breadcrumb中 
        /// </summary>
        public bool breadcrumb { get; set; }
        /// <summary>
        /// 高亮侧边栏路由
        /// </summary>
        public string activeMenu { get; set; }
    }

    public class Router
    {
        /** id */
        public string id { get; set; }
        /** 路径 */
        public string path { get; set; }
        /** 装饰{get;set;}使用哪个layout装饰 */
        public string component { get; set; }
        /** 路由名字 */
        public string name { get; set; }
        /** 重定向地址{get;set;}重定向地址，在面包屑中点击会重定向去的地址 */
        public string redirect { get; set; }
        /** 是否一直显示根路由 */
        public bool alwaysShow { get; set; }
        /** 是否显示{get;set;}如果设置为true，项目将不会显示在侧栏中(默认为false) */
        public bool hidden { get; set; }
        /** 父级路由id */
        public string parentId { get; set; }
        /** 路由顺序 */
        public int index { get; set; }
        /** meta_id */
        public string metaId { get; set; }

    }

    public class RouterMeta
    {
        /** id */
        public string id { get; set; }
        /** 路由id */
        public string routerId { get; set; }
        /** 名称{get;set;}设置该路由在侧边栏和面包屑中展示的名字 */
        public string title { get; set; }
        /** 侧栏图标 */
        public string icon { get; set; }
        /** 固定在tags */
        public bool affix { get; set; }
        /** 缓存{get;set;}如果设置为true，则不会被 <keep-alive> 缓存 */
        public bool noCache { get; set; }
        /** 路由控制角色集{get;set;}控制页面角色(可以设置多个角色) */
        public string roles { get; set; }
        /** 面包屑中显示{get;set;}是否隐藏在breadcrumb中 */
        public bool breadcrumb { get; set; }
        /** 高亮侧边栏路由 */
        public string activeMenu { get; set; }


    }
}
